using System;
using System.Data.SqlServerCe;
using System.IO;
using System.Windows.Forms;
using ODX.Core;
using ODX.Core.Mobile;

namespace AddressBook
{
    static class Program
    {
        internal static Session session;
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [MTAThread]
        static void Main()
        {
            //session = new Session(new XmlDataProvider("\\addresses.txt"), typeof(Item).Assembly);

            //IDataProvider data = CreateWebServiceCaller();
            IDataProvider data = CreateCe();
            session = new Session(data, typeof(Item).Assembly);
            session.Schema = new ab();
            Application.Run(new MainForm());
        }

        private static IDataProvider CreateWebServiceCaller()
        {
            XmlDataSourceWebProxy data = new XmlDataSourceWebProxy();
            data.Url = "http://192.168.1.100/odx/DataService.asmx";
            return data;
        }

        static IDataProvider CreateCe()
        {
            if (!File.Exists("\\ab.sdf"))
            {
                SqlCeEngine engine = new SqlCeEngine("Data Source = \\ab.sdf");
                engine.CreateDatabase();

                SqlCeConnection cnn = new SqlCeConnection("Data Source = \\ab.sdf");
                cnn.Open();
                SqlCeCommand cmd = new SqlCeCommand("CREATE TABLE Item(ID nvarchar(22) primary key, Name nvarchar(123), EMail nvarchar(123))");
                cmd.Connection = cnn;
                cmd.ExecuteNonQuery();
                cnn.Close();
            }
            return new DbDataProvider(new SqlCeProviderFactory(), "Data Source = \\ab.sdf");
        }
    }
}